Шаг 4. Объединяем ветки с использованием режима fast-forward

Переключимся на ранее созданную ветку develop с помощью команды git switch develop, если вы были на другой ветке. Если у вас была установлена ветка develop, переключаться не нужно.

Введена команда git switch develop
Введена команда git switch develop

Далее внесём изменения в файл index.html. Добавим новый элемент <link>, в котором укажем путь до CSS-файла: <link rel="stylesheet" href="css/styles.css">. Самого файла пока нет, мы добавим его позже.

Красная стрелка указывает на добавленный элемент link
Красная стрелка указывает на добавленный элемент link

Сохраняем файл и добавляем изменение в индекс с помощью команды git add -A.

Введена команда git add -A
Введена команда git add -A

Теперь зафиксируем изменения с помощью команды git commit -m "feat: added the link element to index.html".

Введена команда git commit -m
Введена команда git commit -m

После коммита перейдём в ветку main с помощью команды git switch main.

Введена команда git switch main
Введена команда git switch main

Как вы можете заметить, наше изменение пропало — это нормально. Чтобы оно появилось, нужно влить ветку develop в ветку main. Для этого воспользуемся командой git merge develop. Эту команду нужно прописывать в той ветке, в которую мы будем вливать другую ветку, а не наоборот.

По умолчанию для этой команды установлена опция --ff, которая отвечает за режим fast-forward, поэтому мы ничего не прописывали, кроме названия ветки.

Введена команда git merge develop
Введена команда git merge develop

Теперь у нас появился элемент <link>.

Разберём вывод Git после использования команды:

  • Первым сообщением он указал, что последний коммит на ветке был обновлён.
  • Вторым — что был использован режим fast-forward.
  • В третьем сообщении указан файл, в котором внесено изменение.
  • В последней строке подведён итог, что изменён один файл, а также добавлена одна строчка.

Теперь посмотрим список всех коммитов и убедимся, что коммит, который вливался в ветку main, стал последним. Для этого воспользуемся командой git log --oneline --no-decorate. Опция --no-decorate убирает названия веток, на которых присутствуют коммиты, а также указатели.

Введена команда git log --oneline --no-decorate
Введена команда git log --oneline --no-decorate

Коммит отображается в ветке main, и он последний — всё прошло хорошо.

И в конце отправим все изменения в удалённый репозиторий с помощью команды git push --all. Эта команда отправляет изменения со всех существующих веток, что нам и нужно, так как ветку develop мы удалять не планируем.

Введена команда git push --all
Введена команда git push --all

Всё изменения успешно отправлены в удалённый репозиторий в обе ветки.